package Leetcode.排序;

import java.util.Arrays;

/**
 * @ClassName 插入排序
 * @since: 2023/9/14 20:17
 * @auth: kirito
 * @description:
 * 将第一个元素标记为己排序
 * 对于每一个木排序的元素 X
     * ”提取”元系X
     * i = 最后排序过元素的索引到 0遍历
     *  如果当前元素 j >x
     *      将排序过约元素向么移一格
     *  跳出循环并在此插入x
 **/
public class 插入排序 {
    public static void insertSort(int[] arr) {
        for (int i = 1; i < arr.length; i++) {
            for (int j = i; j > 0&&arr[j]<arr[j-1]; j--) {
//                if(arr[j]<arr[j-1]){
                SortUtils.swap(arr,j, j - 1);
//                    int temp = arr[j];
//                    arr[j] = arr[j-1];
//                    arr[j-1] = temp;
//                }else{
//                    continue;
//                }
            }
        }
    }

    public static void main(String[] args) {
        int[] arr = {4, 1, 7, 3, 5, 9, 2};
        insertSort(arr);
        System.out.println(Arrays.toString(arr));
    }
}
